.. _routes_tune:

######################################################
Руководство по настройке интеграционных маршрутов
######################################################



********************************************************************
Назначение  редактора
********************************************************************


Редактор маршрутов предназначен для сопровождения логики, исполняемой на интеграционном сервере.
Маршруты могут использоваться следующим образом:

* для выполнения бизнес логики процесса
* для интеграционного взаимодействия с внешними системами

В системе реализована синхронизация интеграций (обновление работающей бизнес-логики):

* по таймеру
* при изменении маршрута/эндпоинта
* через API синхронизации
* после восстановления из бэкапа

В редакторе маршрутов поддерживается возможность ручной синхронизации  маршрутов.

Об API поддерживаемом маршрутами можно узнать в руководстве разработчика  :numref:`routes_develop` или получить консультацию в рамках технической поддержки у производителя.




********************************************************************
Аттрибуты маршрута
********************************************************************

Маршрут имеет следующие свойства:

*ID*
    Указывается идентификатор маршрута в системе
*Описание*
    Описывается назначение маршрута
*Статус*
    Описывает флаг активности маршрута
*Тело маршрута*
    Содержит исполняемое тело маршрута.
*Маппинги маршрута*
    Содержат параметры выполнения маршрута:

    * **schema_id** - идентификатор схемы, для которой будет выполняться логика
    * **method** - метод api, для которого будет выполняться логика
    * **priority** - порядок выполнения маршрута
    * **type** - **0** - выполняется до взаимодействия с адаптером (перед запросом к адаптеры), **1** - выполняется после взаимодействия с адаптером (после получения ответа от адаптера)
    * **status** - активен (применяется) маппинг или нет
    * **async** - флаг указывающий на способ взаимодействия с маршрутом: синхронный или асинхронный.


********************************************************************
Навигация и поиск в редакторе маршрутов
********************************************************************


================================================
Расположение редактора маршрутов
================================================

Страница настройки маршрутов открывается по кнопке «Редактор маршрутов» пункта **«Администрирование»** в сайдбаре Приложения.

Страница настройки схем также открывается из интернет-браузера по адресу: <IP-адрес серверной части Системы>/admin/routes/list.

После нажатия на кнопку «Редактор маршрутов» либо после перехода по адресу, указанному выше, в рабочей области Системы отобразится панель управления маршрутами, таблица со списком существующих в Системе маршрутов
и блок навигации по списку маршрутов.


.. warning:: Название редактора в сайдбаре может быть изменено администратором системы. Требуется уточнять.

================================================
Поиск по отдельному атрибуту
================================================

Операция поиска по отдельному атрибуту маршрута доступна при нажатии на  **лупу**  в заголовке колонки таблицы маршрутов.

================================================
Поиск по всем атрибутам
================================================

Операция поиска по всем атрибутам доступна  на панели управления маршрутами.


********************************************************************
 Синхронизация маршрутов (интеграций)
********************************************************************

| Операция синхронизации доступна на панели управления маршрутами.
| Операция позволяет в ручном режиме обновить конфигурацию маршрутов на сервере.

********************************************************************
Основные операции
********************************************************************


================================================
Создание маршрута
================================================

Операция создания маршрута доступна  на  панели управления маршрутами.

================================================
Редактирование маршрута
================================================

Операция редактирования доступна  на  панели управления маршрутами.

.. note::  Копируемый маршрут должен быть отмечен в таблице маршрутов.

.. note::  Операция редактирования также доступна по двойному нажатию на строчку с описанием маршрута в таблице маршрутов.


================================================
Копирование маршрута
================================================

Операция копирования доступна  на  панели управления маршрутами.

.. note::  Копируемый маршрут должен быть отмечен в таблице маршрутов.


================================================
Удаление маршрута
================================================

Удаление маршрута может быть осуществлено нажатием на кнопку удалить  на  панели управления маршрутами или на панели управления отдельного маршрута.

.. note:: При удалении маршрутов на панели управления маршрутами может быть выбрано несколько маршрутов



.. _routes_mapping:

================================================
Настройка маппинга маршрута
================================================

Маппинг маршрута привязывает маршрут к вызову методов адаптеров.
В маппинге определяются следующие параметры:


*ID*
    Указывается идентификатор маппинга в системе
*Описание*
    Описывается назначение маршрута
*Схема*
    Указывается схема данных, с которой связывается исполнение логики
*Метод*
    | Определяет метод адаптера, который будет использоваться при обработке маршрута.
    | Поддерживаются следующие методы:

    * **create** - создание записи
    * **update** - обновление записи
    * **get**- получение записи
    * **list** -- создание списка записей
    * **delete** - удаление записи
    * **get_attach** - получение вложения
    * **post_attach** - сохранение вложения
    * **delete_attach** - удаление вложения

*Приоритет*
    Определяет порядок исполнения логики маршрута.
*Преинтерцептор*
    Флаг, который указывает на то, что логика будет выполняться перед  вызовом метода адаптера.
*Постинтерцептор*
    Флаг, который указывает на то, что логика будет выполняться после  вызова метода адаптера. (Перед получением ответа клиентом)
*Статус*
    Флаг, позволяющий включать или отключать исполнение логики.
*Выполнять асинхронно*
    Флаг, определяющий  тип логики маршрута. Асинхронный маршрут не возвращает изменения записи данных. Используется для помещения информации в очереди сообщений, логирования итп.